﻿
(function($) {
    if (typeof (zyg) == 'undefined' ||
        typeof (zyg.sso) == 'undefined' ||
        typeof (zyg.validateTip) == 'undefined')
        return;

    if (typeof (zyg.sso.account) == 'undefined') {
        zyg.sso.account = {}
    }

    zyg.sso.account.page = {}

    zyg.sso.account.page.add = function(formId) {
        $(function() {
            $("#BtnSubmit").attr("disabled", "disabled");

            zyg.validateTip(formId, {
                email: {
                    id: 'AccountEmail',
                    pattern: '^([-\\w\\.0-9]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$',
                    tip: '邮箱地址',
                    ok: '合法',
                    err: '邮箱地址不合法'
                },
                name: {
                    id: 'AccountName',
                    pattern: '^[_\\w\\s\\u4e00-\\u9fa5\\.]{2,16}$',
                    tip: '用户昵称,长度为2到16个字符之间,只允许汉字、英文字母(a-zA-Z)及下划线,半角点号等字符',
                    ok: '用户昵称可用',
                    err: '用户昵称不合法'
                },
                tel: {
                    id: 'AccountTel',
                    tip: '电话,可为空'
                },
                pwd: {
                    id: 'AccountPwd',
                    pattern: '^[\\w]{6,16}$',
                    tip: '密码,长度在6到16个字符之间',
                    ok: '密码可用',
                    err: '密码不可用,请确保密码长度在6到16个字符之间,并且两次密码输入一致!',
                    additional: function() {
                        var pwd = $("#AccountPwd").val();
                        var vpwd = $("#AccountPwdValidate").val();

                        if (vpwd == '') return true;
                        else return pwd == vpwd;
                    }
                },
                vpwd: {
                    id: 'AccountPwdValidate',
                    pattern: '^[\\w]{6,16}$',
                    tip: '确认密码',
                    ok: '密码可用',
                    err: '密码不可用,请确保密码长度在6到16个字符之间,并且两次密码输入一致!',
                    additional: function() {
                        var pwd = $("#AccountPwd").val();
                        var vpwd = $("#AccountPwdValidate").val();

                        return pwd == vpwd;
                    }
                },
                pic: {
                    id: 'FileAccountPic',
                    required: false,
                    pattern: '.(jpe?g|png|gif|bmp)$',
                    tip: '头像,可为空,支持jp(e)g,gif,bmp,png格式的图片',
                    ok: '头像可用',
                    err: '头像格式不合法,支持jp(e)g,gif,bmp,png格式的图片'
                },
                remark: {
                    id: 'AccountRemark',
                    required: false,
                    pattern: '^[\\s\\S]{0,100}$',
                    tip: '备注,可为空,字数在100以内',
                    ok: 'OK',
                    err: '字数过多,必须在100字以内'
                }
            }, {
                debug: false
            }); // end of zyg.validateTip(formId)

            $("#AccountEmail").blur(function() {
                if (zyg.validateTip.isValid($(this))) {
                    $(this).removeClass("err");
                    $(this).removeClass('ok');
                    $("#AccountEmailmsg").html("<img src='../../images/loading.gif' width='16' alt='' />验证中...")
                    .removeClass('ok')
                    .removeClass('err');

                    $.get(
                        'ExistAccount.ashx',
                        { email: $(this).val() },
                        function(data) {
                            if (data.exist) {
                                $("#BtnSubmit").attr("disabled", "disabled");
                                $("#AccountEmailmsg").html('当前邮箱不可用')
                                .removeClass("ok")
                                .addClass("err");

                                $("#AccountEmail")
                                .removeClass("ok")
                                .addClass("err");
                            } else {
                                $("#BtnSubmit").attr("disabled", "");
                                $("#AccountEmailmsg").html('当前邮箱可用')
                                .removeClass("err")
                                .addClass("ok");
                                $("#AccountEmail").addClass('ok');
                            }
                        },
                        "json"
                    );
                }
            });
        });
    } // end of add

    // modify 
    zyg.sso.account.page.modify = function(formId) {
        $(function() {
            zyg.validateTip(formId, {
                name: {
                    id: 'AccountName',
                    pattern: '^[_\\w\\s\\u4e00-\\u9fa5\\.]{2,16}$',
                    tip: '用户昵称,长度为2到16个字符之间,只允许汉字、英文字母(a-zA-Z)及下划线,半角点号等字符',
                    ok: '用户昵称可用',
                    err: '用户昵称不合法'
                },
                tel: {
                    id: 'AccountTel',
                    tip: '电话,可为空'
                },
                pic: {
                    id: 'FileAccountPic',
                    required: false,
                    pattern: '.(jpe?g|png|gif|bmp)$',
                    tip: '头像,可为空,支持jp(e)g,gif,bmp,png格式的图片',
                    ok: '头像可用',
                    err: '头像格式不合法,支持jp(e)g,gif,bmp,png格式的图片'
                },
                remark: {
                    id: 'AccountRemark',
                    required: false,
                    pattern: '^[\\s\\S]{0,100}$',
                    tip: '备注,可为空,字数在100以内',
                    ok: 'OK',
                    err: '字数过多,必须在100字以内'
                },
                pic: {
                    id: 'FileAccountPicutre',
                    required: false,
                    pattern: '.(jpe?g|png|gif|bmp)$',
                    tip: '头像,可为空,支持jp(e)g,gif,bmp,png格式的图片',
                    ok: '',
                    err: '头像格式不合法,支持jp(e)g,gif,bmp,png格式的图片'
                }
            }, {
                debug: false
            }); // end of zyg.validateTip(formId)

            // modify pic
            $("#modifyPic").click(function(e) {
                var picDiv = $("#FileAccountPicutre");
                var dis = picDiv.css("display");

                picDiv.css("display", dis == "none" ? "" : "none");
                $(this).html(dis == "none" ? "取消" : "修改头像");

                if (dis == "none") {
                    picDiv.css("display", "");
                    $(this).html("取消");
                    $("#ModifyPicHidden").val("true");
                } else {
                    picDiv.css("display", "none");
                    $(this).html("修改头像");
                    $("#ModifyPicHidden").val("false");
                }

                delete picDiv;
            });
        });
    } // end of modify

    // register
    zyg.sso.account.page.register = function(formId) {
        $(function() {
            $("#BtnSubmit").attr("disabled", "disabled");

            zyg.validateTip(formId, {
                email: {
                    id: 'AccountEmail',
                    pattern: '^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$',
                    tip: '邮箱地址',
                    ok: '合法',
                    err: '邮箱地址不合法'
                },
                name: {
                    id: 'AccountName',
                    pattern: '^[_\\w\\s\\u4e00-\\u9fa5\\.]{2,16}$',
                    tip: '用户昵称,长度为2到16个字符之间,只允许汉字、英文字母(a-zA-Z)及下划线,半角点号等字符',
                    ok: '用户昵称可用',
                    err: '用户昵称不合法'
                },
                tel: {
                    id: 'AccountTel',
                    tip: '电话,可为空'
                },
                pwd: {
                    id: 'AccountPwd',
                    pattern: '^[\\w]{6,16}$',
                    tip: '密码,长度在6到16个字符之间',
                    ok: '密码可用',
                    err: '密码不可用,请确保密码长度在6到16个字符之间,并且两次密码输入一致!',
                    additional: function() {
                        var pwd = $("#AccountPwd").val();
                        var vpwd = $("#AccountPwdValidate").val();

                        if (vpwd == '') return true;
                        else return pwd == vpwd;
                    }
                },
                vpwd: {
                    id: 'AccountPwdValidate',
                    pattern: '^[\\w]{6,16}$',
                    tip: '确认密码',
                    ok: '密码可用',
                    err: '密码不可用,请确保密码长度在6到16个字符之间,并且两次密码输入一致!',
                    additional: function() {
                        var pwd = $("#AccountPwd").val();
                        var vpwd = $("#AccountPwdValidate").val();

                        return pwd == vpwd;
                    }
                },
                pic: {
                    id: 'FileAccountPic',
                    required: false,
                    pattern: '.(jpe?g|png|gif|bmp)$',
                    tip: '头像,可为空,支持jp(e)g,gif,bmp,png格式的图片',
                    ok: '头像可用',
                    err: '头像格式不合法,支持jp(e)g,gif,bmp,png格式的图片'
                },
                remark: {
                id: 'AccountRemark',
                    required: true,
                    pattern: '^[\\s\\S]{4,20}$',
                    tip: '申请注册信息,字数在4到20以内',
                    ok: 'OK',
                    err: '字数必须在4到20字以内'
                },
                question: {
                    id: 'AccountPassQuestion',
                    required: true,
                    pattern: '^[_\\w\\s\\u4e00-\\u9fa5\\.]{2,30}$',
                    tip: '密保问题,用于找回密码,长度在2到30之间,只允许汉字、英文字母(a-zA-Z)及下划线,半角点号等字符',
                    ok: '可用',
                    err: '不合法'
                },
                answer: {
                id: 'AccountPassAnswer',
                    required: true,
                    pattern: '^[_\\w\\s\\u4e00-\\u9fa5\\.]{2,30}$',
                    tip: '密保答案,长度在2到30之间,只允许汉字、英文字母(a-zA-Z)及下划线,半角点号等字符',
                    ok: '可用',
                    err: '不合法'
                }
            }, {
                debug: false
            }); // end of zyg.validateTip(formId)

            $("#AccountEmail").blur(function() {
                if (zyg.validateTip.isValid($(this))) {
                    $(this).removeClass("err");
                    $(this).removeClass('ok');
                    $("#AccountEmailmsg").html("<img src='../images/loading.gif' width='16' alt='' />验证中...")
                    .removeClass('ok')
                    .removeClass('err');

                    $.get(
                        '../Admin/Account/ExistAccount.ashx',
                        { email: $(this).val() },
                        function(data) {
                            if (data.exist) {
                                $("#BtnSubmit").attr("disabled", "disabled");
                                $("#AccountEmailmsg").html('当前邮箱已被注册过了,请尝试用其它邮箱注册!')
                                .removeClass("ok")
                                .addClass("err");

                                $("#AccountEmail")
                                .removeClass("ok")
                                .addClass("err");
                            } else {
                                $("#BtnSubmit").attr("disabled", "");
                                $("#AccountEmailmsg").html('当前邮箱可用')
                                .removeClass("err")
                                .addClass("ok");
                                $("#AccountEmail").addClass('ok');
                            }
                        },
                        "json"
                    );
                }
            });
        });
    } // end of add
    // end of register
})(jQuery);